export function successReturn(data:any = null, msg:string = '请求成功', statusCode:number = 200) {
  return {
      success : true,
      data,
      msg,
      statusCode
  }
}

export function errorReturn(msg:string = '请求失败', statusCode:number = 400, data:any = null) {
  return {
      success : false,
      data,
      msg,
      statusCode
  }
}

export function getTime() : number{
    return Math.floor((new Date()).getTime() / 1000)
}

export function numToHex(num:number, len:number) :string{
  let hex = num.toString(16)
  return hex.padStart(len, '0')
}

export function hexToNum(hex:string) :number{
  return parseInt(hex, 16)
}

export function strToHex(str:string, len:number) :string{
  let hex = ''
  if(str !== '') {
      for(let i = 0; i < str.length; i ++) {
          hex += (str.charCodeAt(i).toString(16))
      }
  }

  return hex.padStart(len, '0')    
}

export function hexToStr(hex:string) :string{
  　　var len = hex.length;
  　　var str = '';
  　　for(var i = 0; i < len;i = i + 2) {
  　　　　const curCharCode = parseInt(hex.substr(i, 2), 16);
  　　　　str += String.fromCharCode(curCharCode);
  　　}
  　　return str;
  }


  //需要用到的函数
function InsertString(t, c, n) {
      var r = new Array();
      for (var i = 0; i * 2 < t.length; i++) {
          r.push(t.substr(i * 2, n));
      }
      return r.join(c);
  }
  //需要用到的函数
  function FillString(t, c, n, b) {
      if ((t == "") || (c.length != 1) || (n <= t.length)) {
          return t;
      }
      var l = t.length;
      for (var i = 0; i < n - l; i++) {
          if (b == true) {
              t = c + t;
          }
           else {
              t += c;
          }
      }
      return t;
  }
  //16进制转浮点数
 export function hexToSingle(t) :number{
      if (t == "00000000") {
          return 0;
      }

      if (t.length < 8) {
          t = FillString(t, "0", 8, true);
      }
      t = parseInt(t, 16).toString(2);
      t = FillString(t, "0", 32, true);
      var s = t.substring(0, 1);
      var e = t.substring(1, 9);
      var m = t.substring(9);
      e = parseInt(e, 2) - 127;
      m = "1" + m;
      if (e >= 0) {
          m = m.substr(0, e + 1) + "." + m.substring(e + 1)
      }
       else {
          m = "0." + FillString(m, "0", m.length - e - 1, true)
      }
      if (m.indexOf(".") == -1) {
          m = m + ".0";
      }
      var a = m.split(".");
      var mi = parseInt(a[0], 2);
      var mf = 0;
      for (var i = 0; i < a[1].length; i++) {
          mf += parseFloat(a[1].charAt(i)) * Math.pow(2, -(i + 1));
      }
      m = mi + mf;
      if (s == 1) {
          m = 0 - m;
      }
      return m;
  }